﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using HammerMUD.Items;
using HammerMUD.Areas;
using HammerMUD.Characters;
using HammerMUD.NPC;
using System.Runtime.Serialization;
using System.Xml.Serialization;

namespace HammerMUD.Rooms
{
    public class Room
    {
        private Int64 roomNumber;
        private String name;
        private List<Item> items;
        private List<Exit> exits;
        private Area memberOfArea;
        private List<Character> characters;
        private List<Npc> npcs;

        public List<Npc> Npcs
        {
            get { return npcs; }
            set { npcs = value; }
        }

        [XmlIgnore]
        public List<Character> Characters
        {
            get { return characters; }
            set { characters = value; }
        }

        public List<Exit> Exits
        {
            get { return exits; }
            set { exits = value; }
        }

        [XmlIgnore]
        public Area MemberOfArea
        {
            get { return memberOfArea; }
            set { memberOfArea = value; }
        }

        public List<Item> Items
        {
            get { return items; }
            set { items = value; }
        }

        public String Name
        {
            get { return name; }
            set { name = value; }
        }

        public Int64 RoomNumber
        {
            get { return roomNumber; }
            set { roomNumber = value; }
        }

        public Room()
        {
            characters = new List<Character>();
            npcs = new List<Npc>();
            exits = new List<Exit>();
            items = new List<Item>();
        }
    }
}
